AWS SAA学習ログ|Well Architected Framework
AZの選択
1つのリージョンにつき、2つのAZを利用してアーキテクチャーを設計することが基本
高可用性と耐障害性の確保
AWSのAZは物理的に分離されたデータセンターであり、それぞれ独自の電源共有やネットワーク接続を持っているため、複数のAZを活用することで、1つのゾーンで障害が発生しても、他のゾーンでサービスを継続することができ、全体としてのシステム可用性が向上する
3つ以上はコスト効率が低下する
VPCの設置
基本的には1つのシステムやアプリケーションに一つのVPCを設置する。システムを分けることが必要な場合や、テスト用/本番用などに分ける場合には複数活用する場合もある
セキュリティ分離
システムやアプリケーションごとにVPCを分けることで、セキュリティの境界を明確にし、各VPC間の通信を制限でき、異なる環境間の影響を最小限に抑えることができる
環境ごとのリソース管理
テスト用と本番用のリソースを分けることで、それぞれの環境でのリソースの管理やコストの追跡が容易になる
ネットワーク設定の適用
各VPCは独立したネットワーク設定を持つことができるため、システムやアプリケーションごとに適したネットワーク設定を適用できる
スケーラビリティと柔軟性
VPCごとに異なるCIDRブロックを設定することで、IPアドレスの管理がしやすくなり、将来のスケーラビリティにも対応できる
コンプライアンス要件
データの隔離が求められる場合や、異なる法的要件に応じて、データを分ける必要がある場合、VPCを複数設けることが有効
ネットワークの分割方法
マルチVPC方式
メリット
コスト管理:単一アカウントで管理するため、コストを一言管理しやすい
一貫したポリシー:セキュリティグループやIAMなどを統一的に管理しやすい
デメリット
複雑な設定:VPCピアリングやルートテーブルの設定が複雑になりやすい
セキュリティリスク:同じアカウント内のため、権限が誤って設定された場合、他のVPCに影響を与えるリスクがある
リソース制限:アカウントごとのリソース制限に達する可能性がある
主要ユースケース
同じ組織内での異なる環境を管理する場合
システム間でリソースの共有が必要な場合
マルチアカウント方式
メリット
セキュリティ分離:アカウントごとに完全に分離されるため、セキュリティが強化される
独立した管理:各アカウントの管理が独立しており、責任の分離が明確
コンプライアンス:データやシステムをアカウントごとに隔離できるため、コンプライアンス要件に対応しやすい
デメリット
コスト管理の複雑化:アカウントごとに請求が分かれるため、コスト管理が煩雑になる
運用負荷:アカウント間でリソースや設定を共有する場合、運用負荷が増加する
複数アカウント管理ツールの必要性:AWS Organizationsなどの管理ツールを導入する必要がある
主要ユースケース
異なる部門やチームが独立してシステムを管理する場合
セキュリティやコンプライアンスの要件が厳しい場合
グローバルな組織で地域ごとに管理を分ける必要がある場合
マルチリージョンの活用
メリット
高可用性:地理的に分散することで、災害や障害が発生した際にも他リージョンでサービスを維持できる
低レイテンシ:ユーザーの近くにリージョンを配置することで、通信遅延を減少させ、パフォーマンスを向上させる 法令遵守:各国のデータ保護規制に対応しやすく、データを特定の地域に保持することでコンプライアンスを維持できる
デメリット
コスト増加:リージョン間でデータ転送やサービスの冗長化を行うため、コストが増加する
管理の複雑化:複数のリージョンを管理する必要があるため、設定やモニタリングが複雑化する
データ整合性:リージョン間のデータ同期や整合性を保つのが難しい場合がある
ネットワーク遅延:リージョン間のデータ転送により、ネットワーク遅延が発生する場合がある
主要ユースケース
災害復旧:一つのリージョンがダウンした場合に備え、他のリージョンにバックアップを配置する
グローバル展開:世界中のユーザーに対して低レインテンシなサービスを提供するために、ユーザーに近くにリソースを配置する
法令遵守とデータ主権:各国のデータ保護ほうに対応するため、徳的の地域にデータを保存
負荷分散:複数のリージョンにトラフィックを分散させることで、特定のリージョンへの負荷を軽減する
単一障害点の解決
AWSクラウドと自社のデータセンターを接続する際に、VPN接続を冗長化することで、一方で障害が起こった場合でも、接続することが可能